<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="36-15-class类的手写promise版.js"></script>
</head>

<body>
    <script>
        // let p1 = new Person('小李',18);
        // console.log(p1);
        // p1.run();

        // Person.jump('老王');
        // // console.log(p1);

        // let s1 = new Student('小高',19,88);
        // s1.run();

        // Student.jump('小赵')
        // console.log(s1);
        // let p1 = new Promise((res,rej)=>{
        //     setTimeout(() => {
        //         // rej('err')
        //        res('ok');
        //     }, 100);
        //     // rej('err')
        //     // res('ok')
        //     // rej('error')
        //     // throw '错误'
        // })
        // console.log(p1);

        // // setTimeout(() => {
        // let p2 = p1.then(val=>{
        //     console.log('成功1',val);

        //     // 三种  
        //     // 非promise
        //     return 123;
        //     // promise
        //     // return new Promise((res,rej)=>{
        //     //     // res('成功')
        //     //     rej('失败')
        //     // })
        //     // throw '错误'
        // },rea=>{
        //     console.log('失败1',rea);
        //     // return '成功了'
        //     return new Promise((res,rej)=>{
        //         rej('error');
        //     });
        // })
        // // }, 200);

        // console.log(p2);

        // p1.then(val=>{
        //     console.log('成功2',val);
        // },rea=>{
        //     console.log('失败2',rea);
        // })

        // p1.then(val=>{
        //     console.log('成功3',val);
        // },rea=>{
        //     console.log('失败3',rea);
        // })
        // function alert(){
        //     console.log('略略略');
        // }

        // alert('弹出')



        // let p = new Promise((res,rej)=>{
        //     res('ok')
        // });
        // console.log(p);

        // p.catch(rea=>{
        //     console.log(rea);
        // }).then(val=>{
        //     console.log(val);
        // })

        // p.then(val=>{
        //     console.log(val);
        // }).then(val=>{
        //     console.log(val);
        // },rea=>{
        //     console.log(rea);
        // })


        // let p = Promise.resolve('ok');
        // let p2 = Promise.resolve(Promise.resolve('okk'));
        // let p2 = Promise.resolve(new Promise((res,rej)=>{rej('err')}));

        // let p2 = Promise.reject('error');

        // let p3 = Promise.reject(Promise.resolve('ok'));
        // console.log(p3);


        let p1 = new Promise((res,rej)=>{
            console.log("excutor执行");
            res('ok')
        });

        let p2 = p1.then(val=>{
            console.log("then执行");
            console.log(val);
        })

        console.log('end');
    </script>
</body>

</html>